package com.cyq.day16.quickHit;

public class Game {
    Player p=new Player();
    Level l=new Level();
    /**
     * 输出字符串，返回字符串用于和玩家输入比较
     * @return 字符串
     */
    public String printStr(){
        l.levelup();
        if (l.levelNo>6){
            System.out.println("恭喜通关！");
            System.exit(0);
        }
        String systemOutput="";
        char[] systemset=new char[l.strLength];
        System.out.println("请输入下列字符");
        for (int i = 0; i < l.strLength; i++) {
            systemset[i]=(char)((int)(Math.random()*26+65));
            systemOutput+=systemset[i];
        }
        System.out.println(systemOutput);
       return systemOutput;
    }

    /**
     * 比较游戏输出out和玩家输入in，根据比较结果输出相应信息
     */
    public void printResult(String pringStr){
        String userInput=p.play();
        if (pringStr.equals(userInput)){
            System.out.println("输入正确");
            p.elapsedTime+=(int)(System.currentTimeMillis()-p.startTime)/1000;
            System.out.println("当前级别:"+l.levelNo+"当前积分"+l.perScore+"已用时间"+p.elapsedTime+"秒");
            if (p.elapsedTime>l.timeLimit){
                System.out.println("超时了！游戏结束");
                System.exit(0);
            }
            l.perScore+=20;
            if (l.perScore>=100){
                l.levelNo++;
                l.perScore=0;
                p.elapsedTime=0;
                System.out.println("升级了！");
            }

        }else{
            System.out.println("输入错误游戏结束！");
            System.exit(0);
        }
    }
    public void start() {
        while (true) {
            printResult(printStr());
        }
    }
}
